1. Field of the Invention
The invention relates to satellite-based position location and, more particularly, the invention relates to a method and apparatus for time-free processing of global positioning system (GPS) signals.
2. Description of the Background Art
Global Positioning System (GPS) receivers normally determine their position by computing time delays between transmission and reception of signals transmitted from satellites and received by the receiver on or near the surface of the earth. The time delays multiplied by the speed of light provides the distance from the receiver to each of the satellites that are in view of the receiver. The GPS satellites transmit to the receivers satellite-positioning data, so called xe2x80x9cephemerisxe2x80x9d data. In addition to the ephemeris data, the satellites transmit to the receiver absolute time information associated with the satellite signal, i.e., the absolute time signal is sent as a second of the week signal. This absolute time signal allows the receiver to unambiguously determine a time tag for when each received signal was transmitted by each satellite. By knowing the exact time of transmission of each of the signals, the receiver uses the ephemeris data to calculate where each satellite was when it transmitted a signal. Finally, the receiver combines the knowledge of satellite positions with the computed distances to the satellites to compute the receiver position.
The process of searching for and acquiring GPS signals, and reading the ephemeris and related data, including absolute time, for a multiplicity of satellites is time consuming and introduces unacceptable delays in computing the receiver position. In addition, in many situations, there may be blockage of the satellite signals. In these cases the received signal level can be too low to demodulate and derive the satellite data without error. However, in these degraded signal situations, the receiver is capable of tracking the satellite signals, and measuring time delays (and hence distance), if an external source of ephemeris and absolute time is available.
Several innovations have been made to provide xe2x80x9cGPS Aidingxe2x80x9d that consists of external sources of ephemeris (or equivalent) data and absolute time information. The aiding information is transmitted to the GPS receiver using some alternative form of communication (usually wireless, such as cellular data channels). Thanks to the use of GPS Aiding, GPS receivers can operate in areas where signal levels are too low for traditional GPS to function properly.
All GPS Aiding, thus far invented, requires accurate external knowledge of the absolute time, so that the satellite positions can be accurately determined. The absolute time is required to an accuracy of between 1 millisecond and 10 milliseconds. Unfortunately, there are desired implementations of GPS Aiding where absolute time cannot easily be obtained to this accuracy at the GPS receiver. For example: the AMPS cellular phone system does not support time information; nor (currently) does the North American TDMA cellular phone system. The GSM cellular phone system supports timing information, but may have different time references in different geographical regions. In these situations it is desirable to provide a method for computing GPS receiver position without knowing the absolute time.
More specifically, Global Positioning System (GPS) receivers receive GPS signals transmitted from orbiting GPS satellites containing unique pseudo-random noise (PN) codes. The GPS receivers determine the time delays between transmission and reception of the signals by comparing time shifts between the received PN code signal sequence and internally generated PN signal sequences.
Each transmitted GPS signal is a direct sequence spread spectrum signal. The signals available for commercial use are provided by the Standard Positioning Service. These signals utilize a direct sequence spreading signal with a 1.023 MHz spread rate on a carrier at 1575.42 MHz (the L1 frequency). Each satellite transmits a unique PN code (known as the C/A code) that identifies the particular satellite, and allows signals transmitted simultaneously from several satellites to be received simultaneously by a receiver with very little interference of any one signal by another. The PN code sequence length is 1023 chips, corresponding to a 1 millisecond time period. One cycle of 1023 chips is called a PN frame. Each received GPS signal is constructed from the 1.023 MHz repetitive PN pattern of 1023 chips. At very low signal levels the PN pattern may still be observed, to provide unambiguous time delay measurements, by processing, and essentially averaging, many PN frames. These measured time delays are called xe2x80x9csub-millisecond pseudorangesxe2x80x9d, since they are known modulo the 1 millisecond PN frame boundaries. Once the absolute time delay can be calculated, by resolving the integer number of milliseconds associated with each delay to each satellite, then one has true, unambiguous, pseudoranges. The process of resolving the unambiguous pseudoranges is known as xe2x80x9cinteger millisecond ambiguity resolutionxe2x80x9d.
A set of four pseudoranges together with a knowledge of the absolute times of transmissions of the GPS signals and satellite positions at those absolute times is sufficient to solve for the position of the GPS receiver. The absolute times of transmission are broadcast from the satellites in the Navigation Message, which is superimposed on the 1.023 MHz PN code at a lower, 50 Hz, data rate. This 50 Hz signal is a binary phase shift keyed (BPSK) data stream with bit boundaries aligned with the beginning of the PN frame. There are exactly 20 PN frames per data bit period (20 milliseconds). The 50 Hz signal contains data bits describing the GPS satellite orbits, satellite clock corrections, time of week information, and other system parameters.
The absolute times associated with the satellite transmissions are determined in conventional GPS receivers by reading the Time of Week (TOW) data in the Navigation Message of the GPS signal. In the standard method of time determination, a conventional GPS receiver decodes and synchronizes to the 50 baud data stream. The 50 baud signal is arranged into 30-bit words grouped into subframes of 10 words, with a length of 300 bits and a duration of six seconds. Five subframes comprise a frame of 1500 bits and a duration of 30 seconds, and 25 frames comprise a superframe with a duration of 12.5 minutes. A superframe contains the complete Navigation Message. The data bit subframes that occur every six seconds contain bits that provide the TOW to six second resolution. The 50 baud data stream is aligned with the C/A code transitions so that the arrival time of a data bit edge (on a 20 ms interval) resolves the absolute transmission time to the nearest 20 milliseconds. Precision synchronization to bit boundaries can resolve the absolute transmission time to one millisecond or less.
The absolute times associated with the satellite signals are determined in Wireless Aided-GPS receivers by having an external timing source that is calibrated to GPS time then using this time to provide a precise time tag at the time of reception of the satellite signal. The time of reception minus the pseudorange gives the absolute time of transmission for each satellite (with the pseudorange expressed in time units, reflecting the transmission-reception time delay).
The absolute times of transmission are needed in order to determine the positions of the satellites at the times of transmission and hence to determine the position of the GPS receiver. GPS satellites move at approximately 3.9 km/s, and thus the range of the satellite, observed from the earth, changes at a rate of at most xc2x1800 m/s. Absolute timing errors result in range errors of up to 0.8 m for each millisecond of timing error. These range errors produce a similarly sized error in the GPS receiver position. Hence, absolute time accuracy of 10 ms is sufficient for position accuracy of approximately 10 m. Absolute timing errors of much more than 10 ms will result in large position errors, and so typical GPS receivers have required absolute time to approximately 10 millisecond accuracy or better.
Note that absolute timing errors also introduce errors as a result of the GPS satellite clock drift, but these are so much smaller than the satellite position error that they can be ignored for the purposes of this explanation (GPS clocks drift typically less than 0.1 nanoseconds per second, and the observed range to the satellite is affected by the GPS clock drift multiplied by the speed of light, this error is less than 0.03 m/s, about 25 thousand times smaller than errors caused by changes in satellite position).
There is another time parameter closely associated with GPS positioning, this is the sub-millisecond offset in the time reference used to measure the sub-millisecond pseudorange. This offset affects all the measurements equally, and for this reason it is known as the xe2x80x9ccommon mode errorxe2x80x9d.
The common mode error should not be confused with the absolute time error. As discussed above, an absolute time error of 1 millisecond leads to range errors of up to 0.8 meters while an absolute time error of 1 microsecond would cause an almost unobservable range error of less than 1 millimeter. However, a common mode error of 1 microsecond causes a pseudorange error of 1 microsecond multiplied by the speed of light, that is 300 meters.
Because common mode errors have such a large effect on pseudoranges, and because it is practically very difficult to calibrate the common mode error, traditional GPS receivers treat the common mode error as an unknown that must be solved for, along with position, once sufficiently many pseudoranges have been measured at a particular receiver. However, no traditional GPS receivers solve for absolute time error instead relying on the fact that they know absolute time to the required accuracy (of 10 milliseconds or better).
Therefore, a need exists in the art for a method and apparatus that processes GPS signals without using absolute time.
The present invention is a method and apparatus for computing GPS receiver position without using absolute time information transmitted by a satellite or by an alternative source of timing available at the GPS receiver. In an embodiment of the invention, the GPS receiver is contained in an integrated receiver that also includes a wireless communication transceiver, but does not have access to an accurate source of absolute time information. The wireless transceiver communicates through a wireless network to a server. The GPS receiver measures satellite pseudoranges and uses the wireless communication transceiver to send the pseudoranges to the server. The server fits the pseudoranges to a mathematical model in which the GPS receiver position and the absolute time are unknown parameters. The server then computes a position and absolute time that best fit the model, thus yielding the correct position for the GPS receiver, and the absolute time at which the pseudorange measurements were made.